package com.memory.monitor.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.memory.monitor.common.DeleteRequest;
import com.memory.monitor.model.dto.market.MarketAddRequest;
import com.memory.monitor.model.dto.market.MarketQuerryRequest;
import com.memory.monitor.model.dto.market.MarketUpdateRequest;
import com.memory.monitor.model.dto.menu.MenuAddRequest;
import com.memory.monitor.model.dto.menu.MenuQueryRequest;
import com.memory.monitor.model.dto.menu.MenuUpdateRequest;
import com.memory.monitor.model.entity.Market;
import com.memory.monitor.model.entity.Menu;
import com.memory.monitor.model.vo.MarketVO;
import com.memory.monitor.model.vo.MenuVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;


/**
* @author 21731
* @description 针对表【menu(菜单管理)】的数据库操作Service
* @createDate 2024-09-02 09:59:58
*/
public interface MenuService extends IService<Menu> {
    /**
     * 获取MarketVO信息
     *
     * @param menu
     * @return
     */
    MenuVO getMenuVO(Menu menu);

    /**
     * 获取MarketVO信息
     *
     * @param menuList
     * @return
     */
    List<MenuVO> getMenuVO(List<Menu> menuList);

    /**
     * 查询条件
     *
     * @param menuQuerryRequest
     * @return
     */
    QueryWrapper<Menu> getQueryWrapper(MenuQueryRequest menuQuerryRequest);


    /**
     * 增加查询条件
     *
     * @param menuAddRequest
     * @return
     */
    Long addMenu(MenuAddRequest menuAddRequest);

    /**
     * 更新查询条件
     *
     * @param menuUpdateRequest
     * @return
     */

    Boolean updateMenu(MenuUpdateRequest menuUpdateRequest);

    /**
     * 删除查询条件
     *
     * @param deleteRequest
     * @return
     */

    Boolean deleteMenu(DeleteRequest deleteRequest);

    List<MenuVO> listMenuByPage();

    Boolean readExcel(MultipartFile multipartFile);

    Boolean writeExcel(String path);

}
